<?php
/**
 * Проверяет допустим ли логин
 * @author nrnwest@gmail.com
 *
 */
class User_Validate_Login extends Zend_Validate_Abstract
{
    const LENGTH_ERROR = 'loginLengthError';
    const LOGIN_YES = 'loginYes';
    
    /**
     * @var array
     */
    protected $_messageTemplates = array(
    self::LENGTH_ERROR => "Длина логина должна быть от 4 до 10 символов", 
    self::LOGIN_YES => "Веденный логин уже существует в системе, ведите пожалуйста другой");
    
    /**
     * Проверка логина
     * 
     * @param string $value
     */
    public function isValid ($value)
    {
        $value = (string) $value;
        // проверка соответсвия формата
        $strLen = new Zend_Validate_StringLength(4, 10);
        if ($strLen->isValid($value) === false) {
            $this->_error(
            self::LENGTH_ERROR);
            return false;
        }
        $model = new User_Model_User();
        if ($model->isLogin($value) !== false) {
            // логин существует
            $this->_error(
            self::LOGIN_YES);
            return false;
        }
        return true;
    }
}